﻿using Dlls;
using Persistencia;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using UI.Models;
using UI.Views.Cadastros;
using UI.Views.Lancamentos.Financeiro;
using UI.Views.Lancamentos.Produtos_Estoque;
using UI.Views.Lancamentos;
using UI.Views.MacPlan.Controle_Patrimonial;
using XGerencial.Views.Cadastros;
namespace UI.Views.Consultas
{
    /// <summary>
    /// Interaction logic for frmConsultaPadrao.xaml
    /// </summary>
    public partial class frmConsultaPadrao : Window
    {
        private Context context;
        private string parentWindow;
        private PessoasDLL pessoasDLL;
        private EmpresasDLL empresasDLL;
        private ProdutosDLL produtosDLL;
        private GrupoPessoasDLL grupoPessoasDLL;
        private GrupoProdutoDLL grupoProdutosDLL;
        private OrdemServicoDLL OrdemServicoDLL;
        private CaixaBancoDLL caixaBancoDLL;
        private ClasseFinanceiraDLL classeFinanceiraDLL;
        private ContasAPagarDLL contasApagarDll;
        private EstoqueDLL estoqueDLL;
        private FormaPagamentoDLL fpagamentodll;
        private CentroCustoDLL cCentroCustodll;
        private AReceber areceber;
        private AReceberDll areceberDll;
        private FuncionarioDLL funcionarioDLL;
        private LocalTrabalhoDLL localDLL;
        private NivelInstrucaoDLL nivelInstrucaoDLL;
        private MovimentoDLL movimentoDll;
        private MovimentoItemDLL movimentoItemDll;
        private Requisicoe requisicao;
        private RequisicaoItem requisicaoItem;
        private RequisicaoDLL requisicaoDll;
        private RequisicaoItemsDLL requisicaoItemDll;
        private PatrimonioDLL patrimonioDll;
        private GrupoMaquinasDLL grupoMaquinaDll;
        private VendedorDLL vendedorDll;
        private OperacoesDLL operacoesDll;
        private bool filtrar = false;

        public frmConsultaPadrao(string contexto)
        {
            InitializeComponent();
            context = new Context();

            parentWindow = contexto;
            if (contexto.Equals("Pessoa"))
            {
                lblContextoConsulta.Content = contexto.ToString().Replace("2", "");

            }
            else
            {
                lblContextoConsulta.Content = contexto.ToString();
            }
            if (contexto == "Pessoas"||(contexto == "Pessoa"))
            {
                lblCidade.Visibility = Visibility.Visible;
                txtCidade.Visibility = Visibility.Visible;
                pessoasDLL = new PessoasDLL();
                grupoPessoasDLL = new GrupoPessoasDLL();
                dynamicDataGrid.ItemsSource = pessoasDLL.List();
                cbxGrupo.ItemsSource = grupoPessoasDLL.List().Select(o => o.Nome);
            }
            //else if (contexto == "Pessoa")
            //{
            //    pessoasDLL = new PessoasDLL();
            //    grupoPessoasDLL = new GrupoPessoasDLL();
            //    dynamicDataGrid.ItemsSource = pessoasDLL.List();
            //    cbxGrupo.ItemsSource = grupoPessoasDLL.List().Select(o => o.Nome);
            //}
            else if (contexto == "Empresas")
            {
                empresasDLL = new EmpresasDLL();
                dynamicDataGrid.ItemsSource = empresasDLL.List();
            }
            else if (contexto == "Produtos")
            {
                produtosDLL = new ProdutosDLL();
                grupoProdutosDLL = new GrupoProdutoDLL();
                dynamicDataGrid.ItemsSource = produtosDLL.List(true);
                cbxGrupo.ItemsSource = grupoProdutosDLL.List().Select(o => o.Nome);
            }
            else if (contexto == "ProdutoOS")
            {
                lblContextoConsulta.Content = "Produtos";
                estoqueDLL = new EstoqueDLL();
                produtosDLL = new ProdutosDLL();
                dynamicDataGrid.ItemsSource = produtosDLL.List(true);
            }
            else if (contexto == "ProdutosPDV")
            {
                lblContextoConsulta.Content = "Produtos - PDV";

                produtosDLL = new ProdutosDLL();
                dynamicDataGrid.ItemsSource = produtosDLL.List(true);
            }
            else if (contexto == "Produto")
            {
                lblGrupo.Visibility = Visibility.Hidden;
                cbxGrupo.Visibility = Visibility.Hidden;
                produtosDLL = new ProdutosDLL();
                grupoProdutosDLL = new GrupoProdutoDLL();
                dynamicDataGrid.ItemsSource = produtosDLL.List(true);
                cbxGrupo.ItemsSource = grupoProdutosDLL.List().Select(o => o.Nome);
            }
            else if (contexto == "Ordem Servico")
            {
                lblGrupo.Visibility = Visibility.Hidden;
                cbxGrupo.Visibility = Visibility.Hidden;
                OrdemServicoDLL = new OrdemServicoDLL();
                dynamicDataGrid.ItemsSource = OrdemServicoDLL.List();

            }
            else if (contexto == "Caixa Banco")
            {
                lblGrupo.Visibility = Visibility.Hidden;
                cbxGrupo.Visibility = Visibility.Hidden;
                caixaBancoDLL = new CaixaBancoDLL();
                dynamicDataGrid.ItemsSource = caixaBancoDLL.List();
            }
            else if (contexto == "Classe Financeira" || contexto == "Classes")
            {
                lblGrupo.Visibility = Visibility.Hidden;
                cbxGrupo.Visibility = Visibility.Hidden;
                classeFinanceiraDLL = new ClasseFinanceiraDLL();
                dynamicDataGrid.ItemsSource = classeFinanceiraDLL.List();
            }
           
            else if (contexto == "Contas a Pagar")
            {
                lblGrupo.Visibility = Visibility.Hidden;
                cbxGrupo.Visibility = Visibility.Hidden;
                contasApagarDll = new ContasAPagarDLL();
                dynamicDataGrid.ItemsSource = contasApagarDll.List();
            }
            else if (contexto == "Formas de Pagamento" || contexto == "F Pagamento")
            {
                lblGrupo.Visibility = Visibility.Hidden;
                cbxGrupo.Visibility = Visibility.Hidden;
                fpagamentodll = new FormaPagamentoDLL();
                dynamicDataGrid.ItemsSource = fpagamentodll.List();
            }
            else if (contexto == "Centro de Custo")
            {
                lblGrupo.Visibility = Visibility.Hidden;
                cbxGrupo.Visibility = Visibility.Hidden;
                cCentroCustodll = new CentroCustoDLL();
                dynamicDataGrid.ItemsSource = cCentroCustodll.List();
            }
            else if (contexto == "AReceber")
            {
                lblGrupo.Visibility = Visibility.Hidden;
                cbxGrupo.Visibility = Visibility.Hidden;
                areceber  = new AReceber();
                areceberDll = new AReceberDll();
                dynamicDataGrid.ItemsSource = areceberDll.List();
            }
            else if (contexto == "Funcionarios")
            {
                lblGrupo.Visibility = Visibility.Hidden;
                cbxGrupo.Visibility = Visibility.Hidden;
                funcionarioDLL = new FuncionarioDLL();
                dynamicDataGrid.ItemsSource = funcionarioDLL.List();
            }
            else if (contexto == "Setores" || contexto == "Locais de Trabalho")
            {
                localDLL = new LocalTrabalhoDLL();
                dynamicDataGrid.ItemsSource = localDLL.List();
            }
            else if (contexto == "Nivel Instrucao")
            {
                nivelInstrucaoDLL = new NivelInstrucaoDLL();
                dynamicDataGrid.ItemsSource = nivelInstrucaoDLL.List();
            }
            else if (contexto == "MovimentoEstoque")
            {
                lblGrupo.Visibility = Visibility.Hidden;
                cbxGrupo.Visibility = Visibility.Hidden;
                movimentoDll = new MovimentoDLL();
             //   movimentoItemDll = new MovimentoItemDLL();
                dynamicDataGrid.ItemsSource = movimentoDll.List();
            }
            else if (contexto == "Requisicao Compra")
            {
                lblNome.Content = "Numero Requi.";
                lblGrupo.Visibility = Visibility.Hidden;
                cbxGrupo.Visibility = Visibility.Hidden;
                requisicaoDll = new RequisicaoDLL();
                dynamicDataGrid.ItemsSource = requisicaoDll.List();
            }
            else if (contexto == "Patrimonio")
            {
                lblGrupo.Visibility = Visibility.Visible;
                cbxGrupo.Visibility = Visibility.Visible;
                patrimonioDll = new PatrimonioDLL();
                dynamicDataGrid.ItemsSource = patrimonioDll.List();
            }
            else if (contexto == "Vendedor"||contexto == "Vendedores")
            {
                vendedorDll = new VendedorDLL();
                dynamicDataGrid.ItemsSource = vendedorDll.List();
            }
            else if (contexto == "Operacoes")
            {
                operacoesDll = new OperacoesDLL();
                dynamicDataGrid.ItemsSource = operacoesDll.List();
            }
        }

        public void RealizarConsultaPorNome(object sender, KeyEventArgs e)
        {
            string nome = txtNome.Text.ToString();
            if (lblContextoConsulta.Content=="Pessoa"||lblContextoConsulta.Content=="Pessoas")
            {
                if (nome != "")
                {
                    var pessoas = pessoasDLL.ListPessoasPorNome(nome);
                    if (pessoas != null)
                    {
                        dynamicDataGrid.ItemsSource = pessoas;
                    }
                }
            }
            else if (lblContextoConsulta.Content=="Produto" || lblContextoConsulta.Content=="Produtos")
            {
                if (nome !="")
                {
                    var produtos = produtosDLL.ListProdutosPorNome(nome);
                    if (produtos !=null)
                    {
                        dynamicDataGrid.ItemsSource = produtos;
                    }
                }
            }
            else if (lblContextoConsulta.Content =="Requisicao Compra")
            {
                if (nome!="")
                {
                    var requisicao = requisicaoDll.ListPorCodigo(int.Parse(nome));
                }
            }
        }

        public void RealizarConsultaPorGrupo(object sender, SelectionChangedEventArgs e)
        {
            string grupo = cbxGrupo.SelectedItem.ToString();
            if (lblContextoConsulta.Content == "Produto" || lblContextoConsulta.Content == "Produtos")
            {
                if (grupo != "")
                {
                    GrupoProduto g = grupoProdutosDLL.getCodigoPorNomeGrupo(grupo);
                    var produto = produtosDLL.ListProdutoPorGrupo(g.Codigo);
                    if (produto != null)
                    {
                        dynamicDataGrid.ItemsSource = produto;
                    }
                }   
            }
            else if (lblContextoConsulta.Content=="Pessoa"||lblContextoConsulta.Content== "Pessoas")
            {
                if (grupo!="")
                {
                    GrupoPessoa g = grupoPessoasDLL.getCodigoPorNomeGrupo(grupo);
                    var pessoa = pessoasDLL.ListPessoasPorGrupo(g.Codigo);
                    if (pessoa!= null)
                    {
                        dynamicDataGrid.ItemsSource = pessoa;
                    }
                }
            }
            else if (lblContextoConsulta.Content=="")
            {
                
            }
        }

        private void PreencherForm(object sender, MouseButtonEventArgs e)
        {
            var grid = sender as DataGrid;
            var o = grid.SelectedItem;

            if (parentWindow == "Pessoas")
            {
                var item = (o as Pessoa);
                frmCadastroPessoas pessoas = (frmCadastroPessoas)this.Owner;

                pessoas.txtCodigo.Text = item.Codigo.ToString();
                pessoas.txtNome.Text = item.Nome;

                if (item.CliFor == 'C')
                {
                    pessoas.ckCliente.IsChecked = true;
                }
                else if (item.CliFor == 'F')
                {
                    pessoas.ckFornecedor.IsChecked = true;
                }

                pessoas.ckSituacao.IsChecked = item.Situacao;
                pessoas.cbxGrupoPessoas.Text = grupoPessoasDLL.getGrupoPessoa(int.Parse(item.CodGrupo.ToString())).Nome;

                if (item.PJPF == 'F')
                {
                    pessoas.cbxTipoPessoa.Text = "Pessoa Física";
                }
                else if (item.PJPF == 'J')
                {
                    pessoas.cbxTipoPessoa.Text = "Pessoa Jurídica";
                }
                pessoas.codigoParaAlterarOuDeletar = item.Codigo;
                pessoas.txtCPFCNPJ.Text = item.CPFCNPJ;
                pessoas.txtInscricaoEstadual.Text = item.InscricaoEstadual;
                pessoas.txtTelefone.Text = item.Telefone;
                pessoas.txtTelefone2.Text = item.Telefone2;
                pessoas.txtContato.Text = item.Contato;
                pessoas.txtEmail.Text = item.Email;
                

            }
            else if (parentWindow == "Pessoa")
            {
                global.ReturnPessoa = (o as Pessoa);
            }
            else if (parentWindow == "Classes")
            {
                global.ReturnClasseFinanceira = (o as ClasseFinanceira);
            }

            else if (parentWindow == "Produtos")
            {
                var item = (o as Produto);
                var estoque= (o as Estoque);
                frmCadastrarProduto produtos = (frmCadastrarProduto)this.Owner;

                produtos.txtCodigo.Text = item.Codigo.ToString();
                produtos.ehInsumo.IsChecked = item.InsumoProducao;
                produtos.codigoParaAlterarOuDeletar = item.Codigo;
                produtos.cbxGrupoProduto.Text = grupoProdutosDLL.getGrupoProduto(int.Parse(item.CodGrupo.ToString())).Nome.ToString();
                produtos.txtNome.Text = item.Nome.ToString();
                produtos.txtDescricaoProduto.Text = item.DescricaoProduto;
                produtos.txtEstoqueMaximo.Text = item.EstoqueMaximo.ToString();
                produtos.txtEstoqueMinimo.Text = item.EstoqueMinimo.ToString();
                produtos.txtUnidadeMedida.Text = item.UnidadeMedida.ToString();

                if (estoque!=null)
                {
                    produtos.txtQntdeEstoque.Text = estoque.QuantidadeEstoque.ToString();
                    produtos.txtValorVenda.Text = estoque.ValorVenda.ToString();
                }
                
            }
            else if (parentWindow == "ProdutosPDV")
            {
                
            }
//------------------Busca Empresas e preenche FORM --------------------------------------
            else if (parentWindow == "Empresas")
            {
                var item = (o as Empresa);
                frmCadastrarEmpresa empresas = (frmCadastrarEmpresa)this.Owner;

                empresas.txtCodigo.Text = item.Codigo.ToString();

                if (item.MatrizFilial == true)
                {
                    empresas.ehMatriz.IsChecked = true;
                }
                else
                {
                    empresas.ehFilial.IsChecked = true;
                }
                empresas.codigoParaAlterarOuDeletar = item.Codigo;
                empresas.txtNome.Text = item.Nome;
                empresas.txtNomeFantasia.Text = item.NomeFantasia;
                empresas.txtCNPJ.Text = item.CNPJ;
                empresas.txtInscricaoEstadual.Text = item.InscricaoEstadual;
                empresas.txtCep.Text = item.Cep;
                empresas.txtEndereco.Text = item.Endereco;
                empresas.txtNumero.Text = item.Numero;
                empresas.txtComplemento.Text = item.Complemento;
                empresas.txtBairro.Text = item.Bairro;
                empresas.txtCidade.Text = item.Cidade;
                empresas.txtUF.Text = item.UF;
                empresas.txtPontoReferencia.Text = item.PontoReferencia;
                empresas.txtTelefone1.Text = item.Telefone;
                empresas.txtTelefone2.Text = item.Telefone2;
                empresas.txtContato.Text = item.Contato;
                empresas.txtEmail.Text = item.Email;
                empresas.txtServidor.Text = item.Servidor;
                empresas.txtBanco.Text = item.Banco;
                empresas.txtVersaoBanco.Text = item.VersaoBanco;

            }
//--------------------PReenche Form Ordem Serviço------------------------------------------
            else if (parentWindow == "Ordem Servico")
            {
                global.ReturnOrdemServico = (o as OrdemServico);
            }
//------------------Busca Caixa Banco e preenche FORM --------------------------------------
            else if (parentWindow == "Caixa Banco")
            {
                var item = (o as CaixaBanco);
                frmCadastrarCaixaBanco caixabanco = (frmCadastrarCaixaBanco)this.Owner;
                if (item != null)
                {
                    caixabanco.txtCodigo.Text = item.Codigo.ToString();
                    caixabanco.txtNumeroConta.Text = item.NumeroConta.ToString();
                    caixabanco.txtLimiteEspecial.Text = item.LimiteEspecial.ToString();
                    caixabanco.txtNomeCaixaBanco.Text = item.NomeCaixaBanco.ToString();
                    caixabanco.txtCodAgencia.Text = item.CodAgencia.ToString();
                    caixabanco.txtCaixa.Text = item.Caixa.ToString();
                    caixabanco.cbxTipoConta.Text = item.Tipo.ToString();
                    caixabanco.txtOperacao.Text = item.Operacao.ToString();
                    if (item.EmiteBoleto == true)
                    {
                        
                    }
                }
            }
            //------------------Busca MovimentoEstoque e preenche FORM --------------------------------------
            else if (parentWindow == "MovimentoEstoque")
            {
                var item = (o as Movimento);
                frmEntradaEstoque estoque = (frmEntradaEstoque)this.Owner;
                if (item != null)
                {
                    estoque.txtCodigoMovimento.Text = item.Codigo.ToString();
                    estoque.txtCodFornecedor.Text = item.CodigoPessoa.ToString();
                    estoque.txtNomeFornecedor.Text = movimentoDll.getFornecedor(int.Parse(estoque.txtCodFornecedor.Text));
                    estoque.txtDataEntrada.Text = item.DataMovimentacao.ToString();
                    CaixaBanco caixabanco = caixaBancoDLL.getCaixaBanco(int.Parse(item.CodCaixaBanco.ToString()));
                    estoque.cbxFPagamento.Text = caixabanco.NomeCaixaBanco.ToString();
                }
            }

 //------------------Busca Classe Financeira e preenche FORM --------------------------------------
            else if (parentWindow == "Classe Financeira")
            {
                var item = (o as ClasseFinanceira);
                frmCadastraClasseFinanceira classe = (frmCadastraClasseFinanceira)this.Owner;
                classe.txtCodigo.Text = item.Codigo;
                classe.txtNomeClasse.Text = item.NomeClasse;
                classe.checkFinanceiro.IsChecked = item.Financeiro;
                classe.checkResultado.IsChecked = item.Resultado;
                
                if (item.TipoClasse == 'T')
                {
                    classe.rbTitulo.IsChecked = true;
                }
                else if (item.TipoClasse == 'L')
                {
                    classe.rbLancamento.IsChecked = true;
                }  
            }
//------------------Busca Produto e preenche FORM --------------------------------------
            else if (parentWindow == "Produto")
            {
                global.ReturnProduto = (o as Produto);

            }
            else if (parentWindow == "Contas a Pagar")
            {
                var item = (o as APagar);
 
                frmContasAPagarLancamento apagar = (frmContasAPagarLancamento)this.Owner;
                apagar.txtDocumento.Text        = Convert.ToString(item.documento);
                apagar.txtCodForn.Text          = Convert.ToString( item.CodigoPessoa);
                apagar.txtNomeFornecedor.Text   = contasApagarDll.getNomePorCodigo(1);
                apagar.txtDataPrevisao.Text     = Convert.ToString( item.PrevisaoPagamento);
                apagar.txtValor.Text            = Convert.ToString( item.TotalPagamento);
                apagar.txtDataEmissao.Text      = Convert.ToString(item.DataCompra);
                apagar.txtDataVencimento.Text   = Convert.ToString(item.DataPagamento);
                apagar.txtCodClasse.Text        = item.CodClasse.ToString();
                apagar.txtDescricao.Text        = item.Descricao.ToString();
                if (apagar.txtCodClasse.Text!= "")
                {
                     apagar.txtNomeClasseFinanceira.Text = contasApagarDll.ReturnNomeClasse(apagar.txtCodClasse.Text);
                }
            }
            else if (parentWindow == "Centro de Custo")
            {
                var item = ( o as CentroCusto);
                frmCadastrarCentroCusto centroCusto = (frmCadastrarCentroCusto)this.Owner;
                centroCusto.txtCodigo.Text = Convert.ToString(item.Codigo).ToString();
                centroCusto.txtNome.Text = item.NomeCentro.ToString();
                centroCusto.chkSituacao.IsChecked = item.Situacao;
            }

            else if (parentWindow == "ProdutoOS")
            {
                global.ReturnProduto = (o as Produto);
            }
            else if (parentWindow == "Formas de Pagamento")
            {
                var item = (o as FormaPagamento);
                frmCadastrarFormaPagamento formapagamento = (frmCadastrarFormaPagamento)this.Owner;
                formapagamento.checkPermiteParcelas.IsChecked =item.ParcelaSN;
                formapagamento.chkGeraFinanceiro.IsChecked = item.GeraFinanceiroSN;
                formapagamento.txtCodigo.Text = Convert.ToString(item.Codigo);
                formapagamento.txtNome.Text = item.Descricao;
                formapagamento.txtParcelas.Text = Convert.ToString(item.Parcelas);
                formapagamento.txtValorMinimo.Text = Convert.ToString(item.ValorMinimo);
                
            }
            else if (parentWindow == "F Pagamento")
            {
                global.ReturFPagamento = (o as FormaPagamento);
            }
            else if (parentWindow == "AReceber")
            {
                var item = (o as AReceber);
                var item2 = (o as AReceberParcela);
                frmContasAReceber Areceber = (frmContasAReceber)this.Owner;
                if (item != null)
                {
                    Areceber.txtDocumento.Text = item.Documento.ToString();
                    Areceber.txtCodClie.Text = item.CodPessoa.ToString();
                    Areceber.txtNome.Text = areceberDll.getNomePorCodigo(int.Parse(Areceber.txtCodClie.Text));
                    Areceber.txtDescricao.Text = item.Descricao.ToString();
                    Areceber.txtDataEmissao.Text = item.DataVenda.ToString();
                    Areceber.txtDataVencimento.Text = item.DataVencimento.ToString();
                    Areceber.txtDataPrevisao.Text = item.DataPrevisao.ToString();
                    Areceber.txtValor.Text = item.TotalReceber.ToString();
                    
                }
                if (item2 !=null)
                {
                    
                }

            }
            else if (parentWindow == "Funcionarios")
            {
                var item = (o as Funcionario);
                nivelInstrucaoDLL = new NivelInstrucaoDLL();
                int codigo = int.Parse(item.Codigo.ToString());
                frmCadastroFuncionarios funcionarios = (frmCadastroFuncionarios)this.Owner;
                funcionarios.txtCodigo.Text = item.Codigo.ToString();
                funcionarios.txtNomeFuncionario.Text = item.Nome.ToString();
                funcionarios.rbAtivo.IsChecked = item.AtivoSN;
                funcionarios.txtCEP.Text = item.CEP.ToString();
                funcionarios.txtDataCadastro.Text = item.DataCadastro.ToString();
                funcionarios.txtLogradouro.Text = item.Logradouro.ToString();
                funcionarios.txtBairro.Text = item.Bairro.ToString();
                funcionarios.txtNumero.Text = item.Numero.ToString();
                funcionarios.txtCidade.Text = item.Cidade.ToString();
                funcionarios.txtUF.Text = item.UF.ToString();
                funcionarios.txtPontoRef.Text = item.PontoReferencia.ToString();
                funcionarios.txtEmail.Text = item.Email.ToString();
                funcionarios.txtTelefone.Text = item.Telefone.ToString();
                funcionarios.txtTelefone2.Text = item.Telefone2.ToString();
                funcionarios.txtCPF.Text = item.CPF.ToString();
                funcionarios.txtRG.Text = item.RG.ToString();
                funcionarios.txtCTPS.Text = item.CTPS.ToString();
                funcionarios.txtCodLocalTrab.Text = item.LocalTrabalho.ToString();
                funcionarios.txtCodProfissao.Text = item.Profissao.ToString();
                funcionarios.cbxNivelInstrucao.Text = nivelInstrucaoDLL.getNivel(int.Parse(item.NivelInstrucao.ToString())).Descricao;

            }
            else if (parentWindow == "Setores")
            {
                var item = (o as LocalTrabalho);
                int codigo = int.Parse(item.Codigo.ToString());
                frmCadastroSetores setores = (frmCadastroSetores)this.Owner;
                setores.txtCodigo.Text = item.Codigo.ToString();
                setores.txtSetor.Text = item.Setor.ToString();
                setores.txtCidade.Text = item.Cidade.ToString();
                setores.txtObservacao.Text = item.Descricao.ToString();
                setores.chkInternoSN.IsChecked = item.InternoSN;
            }
            else if (parentWindow == "Locais de Trabalho")
            {
                global.ReturnLocalTrabalho = (o as LocalTrabalho);
                
            }
            else if (parentWindow == "Requisicao Compra")
            {
                var item = (o as Requisicoe);
               // frmRequisicaoCompra frm = (frmRequisicaoCompra)this.Owner;
                

            }
            else if (parentWindow == "Patrimonio")
            {
                var item = (o as Patrimonio);
                grupoMaquinaDll = new GrupoMaquinasDLL();

                frmPatrimonio patrimonio = (frmPatrimonio)this.Owner;
                patrimonio.txtCodigo.Text = item.Codigo.ToString();
                patrimonio.txtIdentificacao.Text = item.Identificador.ToString();
                patrimonio.txtDataCompra.Text = item.DataCompra.ToString();
                patrimonio.txtNotaFiscal.Text = item.NotaFiscal.ToString();
                patrimonio.txtNome.Text = item.Descricao.ToString();
                patrimonio.txtPlaca.Text = item.Placa.ToString();
                patrimonio.txtRenavam.Text = item.Renavan.ToString();
                patrimonio.txtAnoModelo.Text = item.AnoModelo.ToString();
                patrimonio.txtSerie.Text = item.Serie.ToString();
                patrimonio.txtCor.Text = item.Cor.ToString();
                patrimonio.txtPotencia.Text = item.Potencia.ToString();
                patrimonio.txtTracao.Text = item.Tracao.ToString();
                patrimonio.cbxGrupo.Text = grupoMaquinaDll.ReturnoNomeGrupo(int.Parse(item.CodGrupo.ToString()));
                //patrimonio.cbxFornecedor.Text = pessoasDLL.ReturnNomePessoa(int.Parse(item.CodFornecedor.ToString()));
               // patrimonio.cbxFabricante.Text = pessoasDLL.ReturnNomePessoa(int.Parse(item.CodFabricante.ToString()));

            }
            else if (parentWindow == "Vendedor")
            {
                var item = (o as Vendedore);


                frmVendedor vendedor = (frmVendedor)this.Owner;
                vendedor.txtCodigo.Text = item.CodVendedor.ToString();
                vendedor.txtNome.Text = item.NomeVendedor.ToString();
                vendedor.txtCPF.Text = item.CPF.ToString();
                vendedor.txtTelefone1.Text = item.Telefone1.ToString();
                vendedor.txtTelefone2.Text = item.Telefone2.ToString();
                vendedor.txtEmail.Text = item.Email.ToString();
                vendedor.chkClienteBloqueado.IsChecked = item.FazPedidoClienteBloqueadoSN;
                vendedor.txtDataAdmissao.Text = item.DataAdmissao.ToString();
                vendedor.txtComissao.Text = item.Comissao.ToString();
                //patrimonio.cbxFornecedor.Text = pessoasDLL.ReturnNomePessoa(int.Parse(item.CodFornecedor.ToString()));
                // patrimonio.cbxFabricante.Text = pessoasDLL.ReturnNomePessoa(int.Parse(item.CodFabricante.ToString()));

            }
            else if (parentWindow == "Vendedores")
            {
                global.ReturnVendedor = (o as Vendedore);
            }
            else if (parentWindow == "Operacoes")
            {
                var item = (o as Operacoe);
                frmOperacoes  operacoes = (frmOperacoes)this.Owner;
                operacoes.txtCodigo.Text = item.Codigo.ToString();
                operacoes.txtNome.Text = item.Nome.ToString();
                operacoes.chkGeraFinanceiro.IsChecked = item.GeraFinanceiro;
                operacoes.chkSituacao.IsChecked = item.AtivoSN;
            }

            this.Close();
        }

        private void FiltrarCidades(object sender, TextChangedEventArgs e)
        {
                if (txtCidade.Text != "")
                {
                    var pessoas = pessoasDLL.ListPessoaPorCidade(txtCidade.Text);
                    if (pessoas != null)
                    {
                        dynamicDataGrid.ItemsSource = pessoas;
                    }
                }
                else
                {
                    dynamicDataGrid.ItemsSource = pessoasDLL.List();
                }
            
        }

    }
}
